export interface JupiterUser {
  uuid: string;
  username: string;
  password: string;
  nickname?: string;
  email?: string;
  phone?: string;
  gender?: string;
  avatar?: string;
  isActive: boolean;
  lastLoginTime?: string;
  createTime?: string;
  updateTime?: string;
  deleteTime?: string;
}

export interface JupiterUserQuery {
  username?: string;
  nickname?: string;
  email?: string;
  isActive?: number;
  page: number;
  size: number;
}

export interface JupiterUserRole {
  uuid: string;
  userUuid: string;
  roleUuids: string[];
  username?: string;
  roleName?: string;
  createTime?: string;
}

export interface JupiterUserDetail {
  uuid: string;
  username: string;
  email: string;
  phone?: string;
  passwordHash?: string;
  nickname?: string;
  avatarUrl?: string;
  biography?: string;
  website?: string;
  isActive: boolean;
  isLocked: boolean;
  loginFailCount: number;
  lastLoginAt?: string;
  lastLoginIp?: string;
  registerIp?: string;
  gender?: string;
  birthday?: string;
  location?: string;
  socialLinks?: Record<string, string>;
  settings?: Record<string, any>;
  createTime?: string;
  updateTime?: string;
  deletedAt?: string | null;
}
